CodeIgniter এর Active Record প্যাটার্ন হলো ডাটাবেস ইন্টারঅ্যাকশনের জন্য একটি শক্তিশালী এবং সহজ পদ্ধতি। এটি ডাটাবেসের সাধারণ কাজ (যেমন সিলেক্ট, ইনসার্ট, আপডেট, ডিলিট) সম্পাদন করার জন্য একটি সহজ, রিডেবল এবং সিকিউর মেথড সরবরাহ করে।
Active Record প্যাটার্ন ডেটাবেস কোয়েরি লেখার পরিবর্তে ফাংশন-ভিত্তিক পদ্ধতি ব্যবহার করে, যা SQL ইনজেকশন প্রতিরোধ করতে সহায়তা করে।
ডাটাবেস থেকে ডেটা রিট্রিভ করার জন্য Active Record মেথড ব্যবহার করা হয়।
উদাহরণ:
$this->db->select('name, email');
$this->db->from('users');
$this->db->where('status', 'active');
$query = $this->db->get();
$result = $query->result();
উপরের কোডের সমতুল্য SQL কোয়েরি:
SELECT name, email FROM users WHERE status = 'active';
ডাটাবেসে নতুন ডেটা যোগ করার জন্য insert()
মেথড ব্যবহার করা হয়।
উদাহরণ:
$data = [
'name' => 'John Doe',
'email' => 'john@example.com',
'status' => 'active'
];
$this->db->insert('users', $data);
উপরের কোডের সমতুল্য SQL কোয়েরি:
INSERT INTO users (name, email, status) VALUES ('John Doe', 'john@example.com', 'active');
ডাটাবেসে বিদ্যমান ডেটা আপডেট করার জন্য update()
মেথড ব্যবহার করা হয়।
উদাহরণ:
$data = [
'status' => 'inactive'
];
$this->db->where('id', 1);
$this->db->update('users', $data);
উপরের কোডের সমতুল্য SQL কোয়েরি:
UPDATE users SET status = 'inactive' WHERE id = 1;
ডাটাবেস থেকে ডেটা মুছে ফেলার জন্য delete()
মেথড ব্যবহার করা হয়।
উদাহরণ:
$this->db->where('id', 1);
$this->db->delete('users');
উপরের কোডের সমতুল্য SQL কোয়েরি:
DELETE FROM users WHERE id = 1;
ডেটা সীমাবদ্ধ বা সাজানোর জন্য limit()
এবং order_by()
মেথড ব্যবহার করা হয়।
উদাহরণ:
$this->db->select('*');
$this->db->from('users');
$this->db->order_by('name', 'ASC');
$this->db->limit(10);
$query = $this->db->get();
ডেটা গ্রুপ এবং ফিল্টার করার জন্য group_by()
এবং having()
ব্যবহার করা হয়।
উদাহরণ:
$this->db->select('status, COUNT(*) as total');
$this->db->from('users');
$this->db->group_by('status');
$this->db->having('total > 10');
$query = $this->db->get();
লাইক ব্যবহার করে ডেটা ফিল্টার করার জন্য like()
মেথড ব্যবহার করা হয়।
উদাহরণ:
$this->db->select('*');
$this->db->from('users');
$this->db->like('name', 'John');
$query = $this->db->get();
CodeIgniter এর Active Record প্যাটার্ন ডাটাবেস ইন্টারঅ্যাকশনের জন্য একটি কার্যকরী এবং সহজ সমাধান। এটি কোডের সুরক্ষা ও রক্ষণাবেক্ষণ সহজতর করে।
Read more